package inutan.common.kit;

public class ConvKit {

    /**
     * 合并两个参数,分别存放在 [高16 和 低16]
     * <pre>
     *     moduleId - 高16
     *     serverId - 低16
     *     例如 moduleId = 1; serverId = 1;
     *     mergeConv 的结果: 65537
     *     那么 mergeConv 对应的二进制是: [0000 0000 0000 0001] [0000 0000 0000 0001]
     * </pre>
     *
     * @param moduleId    模块ID由存放于合并结果的高16位, 该参数不得大于 32767
     * @param serverId  节点ID存放于合并结果的低16位, 该参数不得大于 65535
     * @return 合并的结果
     */
    public static int merge(int moduleId, int serverId) {
        return (moduleId << 16) + serverId;
    }
}
